Boot start up problems limit system performance and can lead to undesirable down time and in extreme situations, the user deeming the machine as unrecoverable. This can ostensibly create a situation where data is lost, not by necessity, but by lack of experience or frustration. The source of boot problems abound and can come from registries getting corrupted, system files corruption, service problems, and missing drivers, to name a few. At times boot problems can arise from boot processes that occur before a computer can fully recognize a bootable system volume, or hard disk.
In conventional systems, a user is left to determine what is causing the problem in order for the user to be able to fix the problem. There are no effective ways to diagnose problems that have caused the boot failure. Instead, conventional systems at most provide manual recovery that seeks to restore some previous stored default or “safe” boot environment. The most common examples are recovery boot disks or a user's ability to boot from the original CD-ROM of the operating system. The process is manually operated, because the computer system polls the user to initiate recovery.
Some systems attempt to expedite boot start-up upon a boot failure by storing multiple basic input/output system (BIOS) initial memory locations in hardware or firmware. The BIOS, the main operating system BIOS, may start up via executing a boot loader sequence starting at a fixed, stored memory location of a boot block. If that main boot loader sequence does not initiate, then the firmware/hardware may instruct the system to go to a second memory location of the boot block to execute a “safe” boot loader sequence, for example, a separately stored, factory default boot loader sequence. Of course, in practice such systems are incomplete.
These systems do not actually diagnose the reasons for boot failure; instead they are based on restoring the system state to a previously bootable one, irrespective of the cause of the failure. These systems require a recovery disk, which in some circumstances may not be available, either because the disk is not available or because the failure to even initialize drivers in the computer system means that the computer system does not recognize its own CD-ROM, floppy, Universal Serial Bus (USB), or other drives.
Furthermore, conventional systems do not diagnose and recover from boot failures caused by the boot data accessed at the early stages of a boot process. Partition table metadata and boot sector metadata for example are used in reading a disk partition. If either of these metadata structures is corrupt, it is not possible to access data on the disk partition(s) associated with the corrupt data structure. If the corrupt or missing data belongs to a boot-critical partition, for example, a system volume containing the main operating system, the computer system will fail to boot. If the corrupt or missing data belongs to a data partition, the computer system 110 will fail to read that system. There are no automatic diagnoses and recoveries to the problem of unreadable partitions.